﻿// using Geek.Server.Core.Hotfix;
// using Geek.Server.Core.Net.Http;
// using Geek.Server.Core.Utils;
//
// namespace Server.Logic.Logic.Http
// {
//     [HttpMsgMapping("load_hotfix")]
//     public class HttpLoadHotfixHandler : BaseHttpHandler
//     {
//         static readonly Logger LOGGER = LogManager.GetCurrentClassLogger();
//         
//         public override async Task<string> Action(string ip, string url, Dictionary<string, string> paramMap)
//         {
//             if (!paramMap.TryGetValue("md5", out var md5) || string.IsNullOrEmpty(md5))
//                 return HttpResult.CreateErrorParam("md5 is null").ToString();
//             
//             if (!paramMap.TryGetValue("version", out var version) || string.IsNullOrEmpty(version))
//                 return HttpResult.CreateErrorParam("version is null").ToString();
//
//             var path = HotfixMgr.GetDllFilePath(version);
//             if (!File.Exists(path))
//                 return HttpResult.CreateActionFailed("dll not exist").ToString();
//
//             var md5Str = CryptographyUtils.Md5(File.ReadAllBytes(path));
//             if (md5Str != md5)
//                 return HttpResult.CreateActionFailed("md5 not match").ToString();
//
//             var success = await HotfixMgr.LoadHotfixModule(version);
//             if (!success)
//                 return HttpResult.CreateActionFailed("load hotfix failed").ToString();
//             
//             LOGGER.Info($"热更新成功: {version}");
//             
//             return HttpResult.CreateOk().ToString();
//         }
//     }
// }